package linkExcel;

import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.collections.ObservableMap;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.stage.Stage;


public class WorkFileMainGUI_FXML extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        //初始化loader，定位指定的fxml文件
        FXMLLoader loader = new FXMLLoader(getClass().getResource("/Page/linkExcel/WorkFileMainGUI_FXML.fxml"));
        //得到一个根，就是fxml的元素群
        Parent root = loader.load();
        //获取命名空间
        ObservableMap<String,Object> nameSpace = loader.getNamespace();
        //TODO 配置
        configuration(nameSpace);
        //封装配置，展示
        primaryStage.setScene(new Scene(root));
        primaryStage.setTitle("测试");
        primaryStage.show();
    }

    private void configuration(ObservableMap<String, Object> nameSpace) {
//        //配置文件位置逻辑
//        TextField tf = (TextField) nameSpace.get("sheetNameInput");
//        Button btn = (Button) nameSpace.get("sheetNameBtn");
//
//        btn.setOnAction(event -> {
////            dp.setVisible(!dp.isVisible());
//        });

//        ObservableList<String> s = FXCollections.observableArrayList();
//        s.add("ff");
//        ListView<String> lv = new ListView<>(s);
//        lv.setItems(s);

        // 获取ListView
        ListView<String> listView = (ListView<String>) nameSpace.get("lv");
        // 获取ListView的项目列表
        ObservableList<String> items = listView.getItems();
        // 向列表中添加项目
        items.add("项目1");
        items.add("项目2");
        items.add("项目3");
        items.add("项目4");
        items.add("项目5");
        items.add("项目6");
        items.add("项目7");
        items.add("项目3");
        items.add("项目3");
        items.add("项目3");
        items.add("项目3");

        listView.getSelectionModel().selectedItemProperty().addListener(
                (observable, oldValue, newValue) -> System.out.println("选中的项目是: " + newValue)
        );
    }
}
